Wizard for configuring a motor drive system

ABSTRACT

An electronic line shaft includes a motor drive and a processing unit operable to execute a wizard for configuring the motor drive. The wizard is operable to receive mechanical characteristic data associated with the motor drive, determine a noise parameter based on the mechanical characteristic data, and determine at least one control parameter of the motor drive based on the noise parameter.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not applicable.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable

BACKGROUND OF THE INVENTION

The present invention relates generally to motor control and, moreparticularly, to a wizard for configuring a motor drive system.

This section of this document is intended to introduce various aspectsof art that may be related to various aspects of the present inventiondescribed and/or claimed below. This section provides backgroundinformation to facilitate a better understanding of the various aspectsof the present invention. It should be understood that the statements inthis section of this document are to be read in this light, and not asadmissions of prior art.

Rotating motors are typically controlled by a motor drive that receivesa reference motor velocity signal and, based on the motor velocitysignal, produces and outputs a torque signal that is applied to themotor. Adjustment of the torque signal based on changes to the referencevelocity signal relative to a feedback velocity signal ensures that themotor rotates at the reference velocity.

Some applications require precise motor control across multiple,synchronized motors. For example, an electronic line shaft may beemployed in a printing application to move the paper or other materialover rollers and through various stages of the printing process. Typicalprinting processes employ multiple colors, each applied at differentlocations along the line. Hence, to ensure print quality, the variousstages are synchronized. A lack of synchronicity between the stationsresults in misregistration between the colors, leading to unacceptableproduct that may need to be scrapped.

Previous generations of printing technology employed a mechanical lineshaft mechanically linked to the various printing stations. Rotation ofthe line shaft by an electric motor activated rollers and other printingstation tools along the line to conduct the printing process. In amechanical line shaft system, factors such as play in the mechanicallinkages, stretching of the paper web, and torsional flexing of the lineshaft itself make it difficult to achieve and maintain synchronicitybetween the printing stations, especially during periods of accelerationand deceleration of the printing system. It has been observed that whensynchronicity is not maintained, product generated includes excessiveflaws and is often unacceptable for intended use. Mechanical line shaftsalso have reduced flexibility in addressing print changes. Hence, wherechanges are required, down time may be excessive.

More modern printing systems, commonly referred to shaftless printingsystems or electronic line shaft systems, employ a plurality of motorsand associated rollers that are electrically synchronized, as opposed tomechanically synchronized. Lack of synchronicity in an electronic lineshaft results in similar problems, such as color misregistration,evident in a mechanical line shaft system.

When operating a plurality motors synchronously in an automated system,several factors exist that may cause the position of the motors todeviate from each other even though they are all operating pursuant to asingle reference velocity signal. For instance, motor inertia betweenmotors at different stations is often non-uniform and can cause onemotor to drift from the other motors.

Typical motor drives for controlling motors are implemented usingsoftware executed by a central processing unit (CPU). As CPU clock rateshave risen, so too has the control bandwidth available to a motor drive.However, higher control bandwidth does not necessarily equate to higherperformance. To this end, as control bandwidth increases, so does thesusceptibility of a motor drive to noise which can lead to operation,rattles, clunks, tendency to resonate, lack of robust performance, etc.In fact, in many cases, the noise level that results from operating adrive at a maximum bandwidth associated with high CPU clock cycles,instead of increasing control performance has been known to degradeperformance appreciably. In this regard, most processes have an idealoperational bandwidth that is much lower than the high bandwidthassociated with high speed CPU clock cycles. For example, an idealoperational bandwidth may be one or two orders of magnitude less thanthe bandwidth associated with high CPU clock cycles.

In a motor control system, control parameters may be specified thataffect the performance of the system. For example, controller gainconstants or filter coefficients may be varied depending on the type ofsystem employed and the configured system bandwidths. Also, differentcompensation schemes, such as inertia compensation or adaption, may beselectively employed depending on the particular application. Factors,such as noise, desired accuracy, type of coupling between the motor andthe load, motor inertia versus load inertia, etc. may affect the controlparameter settings and compensation techniques employed.

The effective selection of control parameters (e.g., gain constants,filter coefficients, compensation techniques) typically requirestime-consuming, iterative tuning by highly skilled motor controltechnicians. Hence, the process of configuring a motor control system isexpensive, and the results may vary depending on the skills andexperience of the particular individual performing the configuration.

Thus, it would be desirable to automatically configure the controlparameters of a motor control system based on the particular nature ofthe application, obviating the need for an expensive manual tuningprocedure with varied efficacy.

BRIEF SUMMARY OF THE INVENTION

The present inventors have recognized that a wizard may be employed togather information about the particular nature of a motor control systemand to automatically configure the control parameters of the motorcontrol system.

One aspect of the present invention is seen in an electronic line shaftincluding a motor drive and a processing unit operable to execute awizard for configuring the motor drive. The wizard is operable toreceive mechanical characteristic data associated with the motor drive,determine a noise parameter based on the mechanical characteristic data,and determine at least one control parameter of the motor drive based onthe noise parameter.

Another aspect of the present invention is seen in a method forconfiguring a motor drive. The method includes receiving mechanicalcharacteristic data associated with the motor drive. A noise parameteris determined based on the mechanical characteristic data. At least onecontrol parameter of the motor drive is determined based on the noiseparameter.

Yet another aspect of the present invention is seen in a printing systemincluding a plurality of printing stations for processing a web. Theprinting system includes a signal source, a virtual encoder, a pluralityof drive units, and a processing unit. The signal source is operable togenerate a reference velocity signal. The virtual encoder is operable togenerate a reference position signal based on the reference velocitysignal. The plurality of drive units are operable to move the webthrough the printing stations in accordance with the reference positionsignal and the reference velocity signal. The processing unit isoperable to execute a wizard for configuring at least one of the driveunits. The wizard is operable to receive mechanical characteristic dataassociated with the configured drive unit, determine a noise parameterbased on the mechanical characteristic data, and determine at least onecontrol parameter of the configured drive unit based on the noiseparameter.

These and other objects, advantages and aspects of the invention willbecome apparent from the following description. The particular objectsand advantages described herein may apply to only some embodimentsfalling within the claims and thus do not define the scope of theinvention. In the description, reference is made to the accompanyingdrawings which form a part hereof, and in which there is shown apreferred embodiment of the invention. Such embodiment does notnecessarily represent the full scope of the invention and reference ismade, therefore, to the claims herein for interpreting the scope of theinvention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The invention will hereafter be described with reference to theaccompanying drawings, wherein like reference numerals denote likeelements, and:

FIG. 1 is a simplified diagram of an electronic line shaft in accordancewith one embodiment of the present invention;

FIG. 2 is a simplified block diagram of the electronic line shaft ofFIG. 1 from a control perspective;

FIG. 3 is a block diagram of a motor control system in accordance withthe present invention;

FIG. 4 is a diagram illustrating an edge signal generated from anencoder output useful for determining motor position and velocity;

FIG. 5 is a block diagram of a velocity compensation unit in the motorcontrol system of FIG. 3;

FIG. 6 is a prior art graph of velocity versus time during anacceleration event illustrating lost velocity-seconds;

FIG. 7 is a graph of velocity versus time during an acceleration eventillustrating lost velocity-seconds and velocity-seconds restored inaccordance with the present invention;

FIGS. 8A, 8B, and 8C are diagrams of a wizard for configuring controlparameters of the motor drive of FIG. 3; and

FIG. 9 is a simplified block diagram illustrating the wizard of FIGS.8A-8C interfacing with the motor drive of FIG. 3.

While the invention is susceptible to various modifications andalternative forms, specific embodiments thereof have been shown by wayof example in the drawings and are herein described in detail. It shouldbe understood, however, that the description herein of specificembodiments is not intended to limit the invention to the particularforms disclosed, but on the contrary, the intention is to cover allmodifications, equivalents, and alternatives falling within the spiritand scope of the invention as defined by the appended claims.

DETAILED DESCRIPTION OF THE INVENTION

One or more specific embodiments of the present invention will bedescribed below. It is specifically intended that the present inventionnot be limited to the embodiments and illustrations contained herein,but include modified forms of those embodiments including portions ofthe embodiments and combinations of elements of different embodiments ascome within the scope of the following claims. It should be appreciatedthat in the development of any such actual implementation, as in anyengineering or design project, numerous implementation-specificdecisions must be made to achieve the developers' specific goals, suchas compliance with system-related and business related constraints,which may vary from one implementation to another. Moreover, it shouldbe appreciated that such a development effort might be complex and timeconsuming, but would nevertheless be a routine undertaking of design,fabrication, and manufacture for those of ordinary skill having thebenefit of this disclosure. Nothing in this application is consideredcritical or essential to the present invention unless explicitlyindicated as being “critical” or “essential.”

Referring now to the drawings wherein like reference numbers correspondto similar components throughout the several views and, specifically,referring to FIG. 1, the present invention shall be described in thecontext of an electronic line shaft 10. In the illustrated embodiment,the electronic line shaft 10 is employed to control a printing process,however, the application of the present invention is not limited to anyparticular process or application. The phrase “electronic line shaft” isintended to apply to any system in which two or more motors arecontrolled in a synchronized fashion to facilitate a process.

A plurality of print stations 15, 20, perform printing operations on amoving web, 25 (e.g., paper). The printing operations performed by theprint stations 15, 20 may vary. For example, some printing systems printusing 4 color print processes. Each print station 15, 20 prints adifferent color. Other print stations 15, 20 perform operations such ascutting, binding, folding, etc. Motor-driven rollers 30, 35, 40 move theweb 25 through the print stations 15, 20. Although the rollers 30, 35,40 are shown as being separate from the print stations 15, 20, in someembodiments, they may be integrated. Each motor-driven roller 30, 35, 40has an associated controller 45, 50, 55, respectively. The controller 45operates as a master controller and the controllers 50, 55 operate asslave controllers. The master controller 45 generates reference positionand velocity data for the slave controllers 50, 55 so thatsynchronization may be achieved. Synchronization of the rollers 30, 35,40 allows synchronization of the print stations 15, 20 to effectivelyperform the printing process.

Turning now to FIG. 2, a block diagram of the electronic line shaft 10from a control perspective is provided. The electronic line shaft 10includes a master drive 100 and one or more slave drives 110, only oneof which is illustrated, a synchronization unit 165, a signal source130, and a ramp generator 135. Drive 100 includes a motor 102, a motorcontrol system 104, first and second delay elements 150 and 160,respectively, a virtual encoder 145, and an encoder 106. Slave drive 110includes a motor 112, a motor control system 114 and an encoder 116.Motors 102, 112, motor control systems 104, 114, and encoders 106, 116operate in similar fashions and therefore, to simplify this explanation,only motor 102, encoder 106, and motor control system 104 will bedescribed here in any detail. Motor control system 104 generatesappropriate voltages and control signals for controlling motor 102.Encoder 106 generates position information as motor 102 rotates. Aplurality of radially displaced optical markings (not shown) aredisposed about the periphery of a disk that rotates with the load (e.g.,the rollers 30, 35, 40 in FIG. 1) associated with motor 102. Encoder 106includes a scanner that identifies the passage of each marking to enablethe determination of load position as described in more detail below.

Motor 102 receives a torque input signal 120 from the motor controlsystem 104 and rotates the load at a reference velocity in response tothe torque input signal 120. In general, the master drive 100 receives acommand velocity signal 125 from signal source 130, and converts thecommand velocity signal into torque signals to drive motor 102. Thetorque signals are adjusted during operation based on factors such as adeviation between the feedback load position and reference loadposition, a deviation between the feedback velocity and referencevelocity, and motor inertia that prevents the motor 102 from immediatelyreacting fully to a change in the torque input signal 120.

Referring still to FIG. 2, the signal source 130 may comprise anyconventional device capable of receiving an input related to a referencevelocity of motor rotation. The input can either be manually entered(e.g., via a man machine interface) or can be automatically provided tothe signal source 130 via an automated control system. Ramp generator135 receives the command velocity signal 125 from the signal source 130and produces a reference velocity signal 140 that transitions or rampsup or down to the input command velocity signal 125. In this regard, theramp generator 135 prevents abrupt changes in the speed command and,therefore, the torque command that is input to the motor 102 to reducestress that would be experienced by the motor components if the torquesignal were to abruptly change. The signal source 130 and ramp generator135 may be collectively referred to as a signal generator.

During operation, when the command velocity signal 125 is applied toramp generator 135, the ramp generator 135 determines the differencebetween the current command velocity signal 125 and the previous commandvelocity signal 125. The ramp generator 135 then determines a period oftime necessary to transition the reference velocity signal 140 to alevel corresponding to the command velocity signal 125. For example, thereference velocity signal 140 may be ramped linearly by the rampgenerator 135, or may be ramped hyperbolically or in any other suitablemanner that smoothly transitions the motor 102 to the command velocitysignal 125.

The ramp generator 135 outputs the reference velocity signal 140 tovirtual encoder 145 and to delay element 150. The virtual encoder 145 isvirtual in that it is programmed in firmware of drive 100. Theconstruction and operation of the virtual encoder 145 is described ingreater detail in U.S. Pat. No. 6,850,021, issued Feb. 1, 2005,entitled, “PRECISION VIRTUAL ENCODER,” commonly assigned to the assigneeof the present application, and incorporated herein by reference in itsentirety. In general, the virtual encoder 145 receives the referencevelocity signal 140 from the ramp generator 135 and, based on a constantscale factor of the pulses per revolution of the motor 102 (e.g., 4096pulses per revolution), integrates the input reference velocity signal140. The virtual encoder 145 thus produces and outputs a referenceposition signal 155 that is an integer corresponding to an optical loadmarking count. The reference position signal 155 is provided to delayelement 160. The reference velocity signal 140 and reference positionsignal 155 are also provided to synchronization unit 165 forcommunication to the slave drive 110 and any other slave drives in theelectronic line shaft 10.

The outputs of delay elements 150 and 160 are provided as delayedvelocity and position signals to motor control system 104. The referencevelocity signal 140 and reference position signal 155 are delayed by thedelay elements 150, 160 to provide sufficient time for thesynchronization unit 165 to propagate the values to the slave drives 110and their associated motor control systems 114 so that the master drive100 and slave drives 110 may act on the control information in asynchronous fashion. The construction and operation of thesynchronization unit 165 is described in greater detail in U.S. patentapplication Ser. No. 09/862,941, filed May 22, 2001, entitled,“APPARATUS FOR MULTI-CHASSIS CONFIGURABLE TIME SYNCHRONIZATION”, U.S.patent application Ser. No. 09/862,256, filed May 22, 2001, entitled,“PROTOCOL AND METHOD FOR MULTI-CHASSIS CONFIGURABLE TIMESYNCHRONIZATION,” and U.S. patent application Ser. No. 09/862,249, filedMay 22, 2001, entitled, “SYSTEM AND METHOD FOR MULTI-CHASSISCONFIGURABLE TIME SYNCHRONIZATION”, each commonly assigned to theassignee of the present application and incorporated herein by referencein its entirety.

In general, the synchronization unit 165 generates a timing signal inconjunction with the reference position and velocity and provides themto the slave drives 110. Responsive to the timing signal, the motorcontrol systems 104, 114 act on the data to compare the feedbackvelocity and position to the reference values and make controladjustments synchronously and accordingly. Thus, the delay elements 150,160 in the motor control system 104 provide a functional time equivalentof the delay in the position and speed commands that are delivered bythe synchronization unit 165 to the slave motor control systems 114.

Turning now to FIG. 3, a simplified block diagram illustrating anexemplary motor control system 104 is provided. The operation of themotor control system 114 (see also FIG. 2) is similar, and is notdescribed herein in the interest of simplifying this explanation. Themotor control system 104 includes a position regulator 200 forcontrolling position errors, a velocity regulator 225 for controllingvelocity errors, a velocity noise filter 230 for filtering position datato determine the velocity of the motor 102, an inertia compensation unit250 for adjusting the control based on the expected inertial response ofthe motor 102, a velocity compensation unit 285 that affects thevelocity control during periods of acceleration/deceleration, an inertiaadaption unit 290 for generating acceleration feedback, first and secondsummers 215, 245 (i.e., adjustors), and a motor controller 295 thatadjusts the torque input signal 120 applied to motor 102.

The reference position signal 155 is provided to the position regulator200. The position regulator 200 also receives a feedback position signal205 which reflects a measurement of the optical position countdetermined by the encoder 106. Position regulator 200 subtracts thefeedback position signal 205 from the reference position signal 155 togenerate a position error signal 210 corresponding to the error betweenthe feedback position and reference position. The position error signal210 is one component used to eventually determine the torque inputsignal 120 applied to the motor 102. In general, the velocity of themotor 102 is adjusted to correct the position error by adding acomponent to the velocity if the feedback position count trails thereference position and subtracting a component from the velocity if thefeedback position count is greater than the reference position. Ingenerating the position error signal, the position regulator 200converts the count error to a per unit speed consistent with thereference velocity signal 140 by multiplying the count by a factorrelating the seconds per edge of the encoder 106 at the base speed ofthe motor 102. The summer 215 receives the position error signal 210 andthe reference velocity signal 140.

Referring still to FIG. 3, inertia compensation unit 250 includes aderivative module 255 and a multiplier 265. Derivative module 255receives the reference velocity signal 140 and, as the label implies,determines the derivative of the reference velocity signal 140 output bythe ramp generator 135 (i.e., ramp rate where the derivative is anacceleration signal 260). The acceleration signal 260 is provided tomultiplier 265. Multiplier 265 also receives an inertia coefficient 270related to the inertia of the motor 102 and load. Multiplier 265multiplies the inertia coefficient 270 and the acceleration signal 260to provide an inertia compensation signal 275 that is provided to summer245.

Summer 245 adds the inertia compensation signal 275 to the velocityregulator output signal 240 to generate a net output signal 280 foradjusting the torque input signal 120 applied to motor 102.

The inertia compensation unit 250 is provided because changes in torqueinput signals 120 to motor 102 are resisted by the inertia of the motor102, whether spinning or at rest. The inertia compensation signal 275thus provides an additional signal that counteracts the inherentresistance of motor 102 and load to changes in velocity. It should beappreciated that when reference velocity signals 140 is decreasing, thederivative calculated by derivative module 255 is negative, therebyreducing the torque input signal 120 applied to motor 102. The inertiacoefficient 270 is determined during the commissioning of the system andrepresents the time required to accelerate the inertia of the motor/loadto base speed at rated torque.

Referring still to FIG. 3, the velocity compensation unit 285 receivesthe acceleration signal 260 and generates a velocity compensation signal287 which is provided to summer 215. The operation of the velocitycompensation unit 285 is discussed in greater detail below withreference to FIGS. 6 and 8.

Summer 215 adds signals 140, 210 and 287 and provides its output 220 toa summer 226 in the velocity regulator 225. The other input to thesummer 226 in the velocity regulator 225 is provided by the velocitynoise filter 230. Velocity noise filter 230 receives various inputvalues, N and T_(v), during a commissioning procedure and uses thosevalues along with a feedback position signal 205 from encoder 106 togenerate a feedback velocity signal 235. Operation of velocity noisefilter 230 is described in greater detail below. The summer 226 in thevelocity regulator 225 subtracts the feedback velocity signal 235 fromthe sum 220 output by summer 215 to generate an error signal. The errorsignal is filtered by a velocity error filter 227, and the filterederror signal is provided to a proportional-integral (PI) controller 228.The output of the PI controller 228 is a velocity regulator outputsignal 240 that corresponds to the difference between the sum 220 andthe feedback velocity signal 235. The velocity regulator output signal240 is provided to summer 245. As described in greater detail below, thevelocity error filter 227 is coordinated to cooperate with the velocitynoise filter 230 to attenuate the sideband components introduced by thevelocity noise filter 230. The operation of the PI controller 228 forcontrolling the velocity error is well known to those of ordinary skillin the art, and in the interests of simplifying this description, is notdetailed herein.

Still referring to FIG. 3, inertia adaption unit 290 generates anacceleration feedback component for inclusion by the summer 245 foradjusting the net output signal 280 provided to the motor controller295. Inertia adaption unit 290 creates an electronic inertia of precisemagnitude to minimize velocity regulator gain change when a mechanicalinertia becomes disconnected from the motor. For instance, when using agear-box or spring coupling at high frequencies. System stability isincreased in such systems, especially when load inertia is much greaterthan motor inertia. The inertia adaption unit 290 may not be used insome embodiments. Typically, the inertia adaption unit 290 is not usedif the system inertia is<3 times the motor inertia. The inertia adaptionunit 290 may be used if there is a gear-box and/or spring coupling witha resonant frequency in the range of 30 to 200 Hz, or if the desiredvelocity bandwidth exceeds two thirds of the maximum bandwidth dividedby the inertia ratio. The construction and operation of the inertiaadaption unit 290 is described in greater detail in U.S. patentapplication Ser. No. 10/662,556, filed Sep. 15, 2003, entitled, “METHODAND APPARATUS FOR PROVIDING OPTIMAL ACCELERATION FEEDBACK,” commonlyassigned to the assignee of the present application, and incorporatedherein by reference in its entirety.

Referring to FIG. 3, the inertia adaption unit 290 may be configured toreceive the feedback velocity signal 235 from the velocity noise filter230 for determining the acceleration feedback, or alternatively, theinertia adaption unit 290 may receive the unfiltered position data fromthe encoder 106 (i.e., as indicated by the dashed line) and calculate aninstantaneous velocity using the last two position values and the timeinterval between the values.

The motor controller 295 adjusts the torque input signal 120 based onvariations between feedback and reference position, feedback andreference velocity, and inertia effects, as described above. Theconstruction and operation of the motor controller 295 are known and notdescribed in greater detail herein.

With continued reference to FIG. 3, the operation of the velocity noisefilter 230 and velocity error filter 227 are now described in greaterdetail. From a noise perspective the velocity noise filter 230 andvelocity error filter 227 are in series. In general, the velocity noisefilter 230 is a finite impulse response (FIR) filter performing a movingaverage function using N=2^(n) data points to determine a velocityvalue. The value of n may represent a noise index and may be configuredin the drive firmware to provide differing filter responses. Thevelocity error filter 227 is an infinite impulse response (IIR) thatattenuates sidebands of the FIR velocity noise filter 230.

Referring again to FIGS. 2 and 3, in general, encoder 106 detects andcounts the passage of optical markings present on a disk that rotatesalong with the rotating load during operation. In one embodiment, theencoder 106 may employ a two channel system that outputs pulse trainscorresponding to detections of the optical markings. Phase differencesbetween the pulse trains from each channel may be used to determinemotor direction. An edge detection circuit receives both pulse trainsand generates an edge signal that includes a peak for every rising andfalling edge of the pulse train for each channel. Hence, four successivepeaks would represent a rising edge of the A channel, a rising edge ofthe B channel, a falling edge of the A channel, and a falling edge ofthe B channel.

FIG. 4 illustrates an exemplary edge signal 300 generated by the encoder106. This particular encoder 106 implementation is provided forillustrative purposes only. Other types of position feedback devices maybe used. In FIG. 4, the edge signal includes a plurality of edges 310representing rising and falling edges of the signal generated by theencoder 106. The position is sampled at the frequency indicated bysampling interval 320. The edge-to-edge time (i.e., the time betweenfour edges or the time between subsequent rising edges of the A channelsignal) is represented by the edge-to-edge interval 330. Note that theposition is sampled in the time period between edges. An edge timer,which is reset with the receipt of every edge, may be used to track thetime elapsed since the last edge so that the edge signal may be alignedto the last edge for accurate velocity determination. Thus, a positioncounter and edge timer may be sampled concurrently to accuratelydetermine the number of edges that occurred during the current samplinginterval as well as the precise time at which the edges occurred.

Referring again to FIG. 3, the velocity noise filter 230 multiplies thenumber of edges counted during the sampling interval, d_edge, by an edgescaling factor, edge_scale, and divides by time interval, d_time togenerate a velocity value for the current sample:Velocity=d_edge*(edge_scale/d_time)  (1)

The edge scaling factor is based on the associated amount of motortravel for each edge detected. For instance, if the encoder 106generates 4096 edges per revolution, and the motor base speed is 1750rpm, the edge scaling factor is 60/4096/1750 sec/edge or 8.371*10⁻⁶ atmotor base speed. The resulting motor velocity calculation from Equation1 is unitless, such that a velocity of 1.0=motor base speed. The timeinterval, d_time varies depending on the value selected for n. Thevariable, d_time, represents the edge-to-edge interval 330 shown in FIG.4, or the change in time measured over a 2^(n) moving average interval.Every sample interval, the velocity noise filter 230 is updated with twonew values, pulse_count, and a time variable.

Sampling interval, d_edge, is the difference between the latest movingaverage pulse_count array element and a previously stored element,measured over the selected 2^(n) average interval. Similarly, timeinterval, d_time, is the difference between the latest time variablevalue, clk_edge, and a previously stored time variable value, clk_edge,measured over the same time interval. Sampling interval, d_edge,therefore represents the number of new encoder edges or the change inthe pulse_count value that occurred over the selected average interval.Similarly, time interval d_time is the change in time, measured from thefirst to last encoder edge, for the same sampling interval, d_edge, andaverage interval.

Various types of position feedback devices may be used, such as theencoder described above, a high resolution encoder, or a resolver, andthe application of the present invention is not limited to anyparticular position feedback device. The velocity noise filter 230operates on accumulated position and outputs a near ideal velocity valuethat is band-limited.

An exemplary transfer function for the velocity noise filter 230,independent of the position feedback device type, can be expressed as:

$\begin{matrix}{{G(Z)} = \frac{1 - Z^{- N}}{T_{v}N}} & (2)\end{matrix}$where: N=number of taps, typically ranging from 1 to 256 in powers oftwo,

-   -   T_(v)=sample time of the filter, and    -   Z=exp(sT_(v))

By configuring the number of taps, N, in the velocity noise filter 230,the bandwidth and anticipated noise level is controllable. In general,the bandwidth decreases as the number of taps increases and lowerbandwidth reduces noise level. Noise is thus reduced by increasing N.

The velocity error filter 227 is implemented using a second order IIRfilter. An exemplary transfer function for the filter 227 can beexpressed as:

$\begin{matrix}{{G(s)} = \frac{1}{\left( {1 + {T_{f}s}} \right)^{2}}} & (3)\end{matrix}$where T_(f)=filter time constant in seconds. A higher order filter iscontemplated and may be employed in some embodiments. The velocity errorfilter 227 attenuates high frequency sidebands of the FIR velocity noisefilter 230. The bandwidth of the velocity error filter 227 is typicallyset at a multiple of the bandwidth of the noise bandwidth determined bythe velocity noise filter 230. For instance, the bandwidth of thevelocity error filter 227 may be set at 6 times the noise bandwidthdetermined by the velocity noise filter 230. Other multiples, such asbetween about 3 and 9, or other values may be used. For example, inembodiments where the inertia adaption unit 290 is enabled, thebandwidth of the velocity error filter 227 may be set at 3 times theselected velocity bandwidth. A particular example relating the bandwidthof the velocity error filter 227 to the noise bandwidth is shown belowin Table 1.

Turning now to FIG. 5, a simplified block diagram of the velocitycompensation unit 285 of FIG. 3 is provided. The velocity compensationunit 285 includes a velocity compensation gain calculator 400 and twomultipliers 410, 420 cooperating to generate the feed forward velocitycompensation signal 287.

Referring again to FIG. 3, in the illustrated embodiment, positionregulator 200 and velocity regulator 225 operate at different updateintervals. T_(x) represents the interrupt interval of the positionregulator 200, and T_(v) represents the interrupt interval of thevelocity regulator 225. In the illustrated embodiment, the referencevelocity signal 140 is oversampled at a rate 4 times that of thereference position signal 155, so T_(x)=4T_(v). Other sampling ratearrangements are contemplated, including no oversampling, a higher levelof oversampling, or a lower level of oversampling.

Velocity compensation unit 285 receives the sample time of velocityregulator 225 (T_(v)), the sample time of the position regulator 200(T_(x)) and the time delay of the velocity noise filter 230 (i.e., basedon N), during a commissioning procedure. In addition, compensation unit285 receives the acceleration signal 260 (DV/DT) from the derivativemodule 255. However, in an embodiment without inertia compensation, thederivative module 255 may be incorporated into compensation unit 285.

Multiplier 410 multiplies the acceleration signal 260 by the positionregulator sample time T_(x). Multiplier 420 then multiplies the outputof multiplier 410 by a velocity compensation gain factor, Vcomp_gain,generated by the velocity compensation gain calculator 400 to generatethe velocity compensation signal 287 that is, in turn, provided as aninput to summer 215 shown in FIG. 3.

To illustrate operation of velocity compensation unit 285, a simpleexample is described in which the velocity noise filter has one tap(i.e., n=0, N=2⁰=1). The value of Vcomp_gain is normalized to unity whenn=0. The output 260 of the derivative module 255 and T_(x)(sec) aremultiplied by multiplier 410 to generate an intermediate velocitycompensation signal 430. Note that in steady state, the value ofintermediate velocity compensation signal 430 is zero because the valueoutput by derivative module 255 is zero (i.e., no acceleration). Whenaccelerating, the velocity compensation signal 287 restores an incrementof velocity-seconds lost to the sample and hold process, as illustratedin FIG. 7. The velocity compensation unit 285 uses a feed forwardcompensation technique to anticipate the velocity seconds that are lostdue to the discrete position samples and restore the lostvelocity-seconds. Restoring lost velocity-seconds of the proper levelsecures an ideal correction and a near zero position error at the timeof interrupt. The compensation provided by the velocity compensationsignal 287 results in a reduced position error, thus reducing theobservable performance difference between steady state andacceleration/deceleration periods of operation.

The velocity noise filter 230 imparts a delay that varies depending onthe number of taps, N. It is known that delays through an FIR filter canbe made precisely linear by design. Because the velocity noise filter230 is linear in the illustrated embodiment, the filter delay isprecisely known and can be factored into the compensation calculation ofthe velocity compensation gain calculator 400. The velocity noise filter230 is run at the same sampling rate as the velocity regulator 225,T_(v), at a task frequency that is an exact multiple of the positionregulator 200. The velocity noise filter 230 could also be run at thesame rate. In terms of timing, the velocity tasks could be performedafter the position regulator 200 (i.e., T_(v) after T_(x)) or before theposition regulator 200 (i.e., T_(v) before T_(x)). The timingrelationships are predetermined. In either case, a precise formula canbe applied via velocity compensation gain calculator 400 to restore lostvelocity-seconds. The formula for Vcomp_gain where the velocity task isperformed prior to the position task is:

$\begin{matrix}{{Vcomp\_ gain} = {1 - \left\lbrack {\frac{T_{v}}{T_{x}} \cdot \frac{\left( {N - 1} \right)}{2}} \right\rbrack}} & (4)\end{matrix}$

The formula for Vcomp_gain where the position task is performed prior tothe velocity task is:

$\begin{matrix}{{Vcomp\_ gain} = {1 - \left\lbrack {\frac{T_{v}}{T_{x}} \cdot \frac{\left( {N + 1} \right)}{2}} \right\rbrack}} & (5)\end{matrix}$

Returning to FIG. 2, the reference velocity signal 140 and referenceposition signal 155 are sent to other the slave drives 110 controllingmotors 112 that are to be operated synchronously with the motor 102. Itshould be appreciated in this regard that the master drive 100 sendssignals to a plurality of slave drives 110. The cooperation between themaster drive 100 and the slave drives 110 ensure that all motors operateat the same velocity and at the same position, and that adjustments aremade to correct position errors when a feedback position of a givenmotor does not equal the reference position of the motor. Accordingly,only one virtual encoder is necessary for a system operating a pluralityof synchronously controlled motors.

Turning now to FIGS. 8A, 8B, and 8C, screen displays of a wizard 500 forconfiguring the control parameters of the motor control system 10 areshown. In general, the wizard 500 collects application information froma user and automatically generates recommended values for variouscontrol parameters, such as the number of taps in the velocity noisefilter 230, the bandwidth of the velocity error filter 227, the gainconstants used in the PI controller 228, the enabling of the inertiacompensation unit 250, and the enabling of the inertia adaption unit 290(all shown in FIG. 3).

Referring first to FIG. 8A, a mechanics panel 502 in the wizard 500 isdisplayed. Using the mechanics panel 502, a user specifies the generalcharacteristics of the drive 100, 110. The mechanics panel 502 providesmultiple arrangement selections 504, 506, 508, 510, 512, and 514, andassociated arrangement graphics 516, 518, 520, 522, 524, and 526.Control buttons 528, such as a back button 530, next button 532, andcancel button 534 are provided for navigating within or exiting thewizard 500. As described in greater detail below, the wizard 500generates control parameters for the motor control system 104 based onthe selections.

The arrangement specified by selection 504 and graphic 516 relates to adirect coupled system where the load inertia is less than about 3 timesthe motor inertia. The arrangement specified by selection 506 andgraphic 518 relates to a direct coupled system with a very stiff shaftand/or couplings and a load inertia less than about 30 times the motorinertia. The graphic 518 illustrates the stiff shaft and large load tomotor inertia ratio. Selection 508 and graphic 520 illustrates a directcoupled arrangement where the load inertia is less than about 10 timesthe motor inertia.

Selection 510 and graphic 522 relate to a gear coupled arrangementemploying a gearbox between the motor and the load, where the loadinertia is greater than about 30 times the motor inertia. Selections512, 514 and associated graphics 524, 526 relate to arrangements withspringy shafts coupling the motor to the load (i.e., selection 524) orto a gearbox (i.e., selection 526). The load inertia is less than about30 times the motor inertia, and the resonant frequency is greater thanabout 30 Hz for selections 512 and 514.

The particular configurations illustrated by selections 504, 506, 508,510, 512, and 514, and associated graphics 516, 518, 520, 522, 524, and526 are illustrative, and not exhaustive. Other coupling arrangements,shaft types, inertia ratios, etc. may be used.

Following the general specification of the system arrangement using themechanics panel 502, the user may transition to the inertia panel 536illustrated in FIG. 8B. The inertia panel 536 includes a system inertiafield 538, a motor inertia field 540, a motor inertia test checkbox 542,a system inertia checkbox 544, and a status indicator 546. The controlbuttons 528 on the inertia panel 536 further included a run button 548and a stop button 550.

Values for the system inertia and motor inertia may be input manuallyinto the system inertia field 538 and the motor inertia field 540, orthey may be determined automatically using a commissioning procedure.The commissioning tests may be performed by selecting one of the motorinertia test checkbox 542 and the system inertia checkbox 544 andactivating the run button 548. The test may be terminated using the stopbutton 550. The motor inertia test is performed with the loaddisconnected and the system inertia test is performed with the loadconnected. The system inertia represents the time required the motor andload to base speed with 100% applied torque, and the motor inertiarepresents the time required to accelerate the motor to base speed andrated torque. Commissioning procedures for determining the system andmotor inertias are well known to those of ordinary skill in the art, andthey are not described in detail here in the interest of simplifying thedescription.

Referring to FIGS. 8A and 8B, the wizard 500 may verify the mechanicsselection chosen in the mechanics panel 502 based on the determinedsystem and motor inertias to verify proper selection. For example, ifthe load inertia is greater than 3 times the motor inertia, andselection 504 was chosen in the mechanics panel 502 (i.e., load<3×motor), the wizard 500 may recommend that the selection be changed toselection 508 (i.e., load<10× motor).

After inputting the inertias or running the automatic inertia tests, thenext button 532 may be selected to transition the wizard 500 to theauto-configure panel 552 shown in FIG. 8C. The auto-configure panel 552includes a velocity loop sample time field 554, a velocity noise filtertaps field 556, a maximum velocity bandwidth field 558, a system inertiafield 560, a motor inertia field 562, a selected velocity bandwidthfield 564, a selected position bandwidth field 566, an inertiacompensation checkbox 568, and an acceleration feedback checkbox 570.

The automatic configuration of the motor control system 104 is nowdescribed with reference to FIGS. 3 and 8C. In the illustratedembodiment, the sample time of the velocity loop specified in thevelocity loop sample time field 554 is 250 microseconds (i.e., 4000 Hz).The following example is based on this sample time. Of course, thevelocity loop sample time may vary depending on the particularimplementation.

Based on the mechanics of the system specified in the mechanics panel502 of FIG. 8A, the wizard 500 determines the number of taps used forthe velocity noise filter 230, as specified in the velocity noise filtertaps field 556. In general, system arrangements with gear boxes tend toexhibit increased noise, and the number of taps for such systems isincreased. The wizard 500 constrains the value of the velocity noisefilter taps field 556 such that the value is a power of 2 (i.e., 1, 2,4, 8, 16, 32, 64, 128).

Based on the determined value for the number of taps used in thevelocity noise filter 230, the wizard 500 determines the correspondingnoise bandwidth and filter coefficient for the velocity error filter(see Equation 3 above). Table 1 below illustrates the noise bandwidthcorresponding to the number of taps based on the velocity samplingfrequency of 4000 Hz and a current regulator setting of 2000radians/sec. As is known in the art, the current regulator isimplemented by the motor controller 295 to regulate the drive voltagesprovided to the motor 102 based on the torque input signal 280.

Table 1 also indicates the bandwidth of the velocity error filter 227.In determining the relationship between the noise bandwidth and thevelocity error filter bandwidth, the velocity error filter bandwidth wasselected from a set of bode response curves to provide a gain margin ofat least about 10 db at the velocity noise bandwidth and a phase marginof at least about 1 radian at the velocity noise bandwidth. The gainmargin is defined as the amount of gain increase at constant phase tocause instability, and the phase margin is defined as the amount ofphase shift at constant gain to cause instability. The sidebandattenuation provided by the velocity error filter 227 corresponds to afirst sideband peak amplitude of less than about 0.015 of fundamental toprovide a suitable level of stop-band attenuation. The attenuationfactor for the velocity error filter may be defined by the equation:

$\begin{matrix}{{AF} = \frac{\frac{2}{3\pi}}{1 + \left( \frac{3\pi\; f_{v}}{N\;\omega_{f}} \right)^{2}}} & (6)\end{matrix}$where ω_(f) is the bandwidth of the velocity error filter 227 (i.e.,2π/t_(f)), f_(v) is the velocity sample frequency, and N is the numberof taps in the velocity noise filter 230. Values for the velocity errorfilter 227 bandwidth based on the number of taps in the velocity noisefilter 230 are also shown below in Table 1.

TABLE 1 Bandwidth Table N BW 1 2 4 8 16 32 64 128 Noise 690 530 380 240120 60 30 15 bandwidth (r/s) Velocity 4100 3200 2200 1300 600 300 150 75Error filter (r/s) Sideband .0025 0.006 0.011 0.015 0.013 0.013 0.0130.013 Attenuation Factor

The noise bandwidth generally sets the upper limit on the velocitybandwidth that may be used by the velocity regulator 225. The userselects a value for the velocity bandwidth in the selected velocitybandwidth field 564 that is less than the value of the maximum velocitybandwidth field 558 (i.e., which corresponds to the noise bandwidthdetermined in Table 1). The position bandwidth specified in the selectedposition bandwidth field 566 is typically about ⅓ to ⅕ of the velocitybandwidth. The wizard 500 may suggest the value for the selectedposition bandwidth field 566 based on the value of the selected velocitybandwidth field 564, or it may allow the user to enter both values 564,566.

The values of the system inertia field 560 and a motor inertia field 562are transferred from the corresponding fields 538, 540 from the inertiapanel 536 shown in FIG. 8B. The wizard 500 sets the value of the inertiacoefficient 270 used by the inertia compensation unit 250 of FIG. 3equal to the value of the system inertia field 560. The wizard 500 mayalso act as the velocity compensation gain calculator 400 (see FIG. 5)and set the value of the inertia compensation gain factor based on thevelocity and position sampling times, velocity versus position samplingprecedence, and number of taps, as defined by one of Equations 4 or 5above.

Still referring to FIGS. 3 and 8C, the wizard 500 sets the gainconstants used by the position regulator 200 and the PI controller 228in the velocity regulator 225 based on the selected position andvelocity bandwidths 566, 564, respectively. The wizard 500 sets theproportional gain, k_(x), used by the position regulator 200 equal tothe value of the selected position bandwidth (PBW) field 566 (i.e.,k_(x)=PBW). The wizard 500 sets the proportional gain, k_(p), used bythe PI controller 228 to the value of the system inertia (I_(s)) field560 times the value of the selected velocity bandwidth (VBW) field 564:k _(p) =I _(s) *VBW  (7)

The wizard 500 sets the value of the proportional gain, k_(i), used bythe PI controller 228 to the value of k_(p) times the value of theselected velocity bandwidth field 564 divided by 4:

$\begin{matrix}{k_{i} = \frac{k_{p}*{VBW}}{4}} & (8)\end{matrix}$

Turning back to FIG. 8A, the wizard 500 determines whether to enable theinertia compensation unit 250 and/or the inertia adaption unit 290(i.e., acceleration feedback) via the inertia compensation checkbox 568and acceleration feedback checkbox 570, respectively. The wizard 502stores flags for inertia adaption and compensation associated with eachof the selections 504-514 on the mechanics panel 502 of FIG. 8A. Theuser may override the wizard's recommendations by manually checking orunchecking the checkboxes 568, 570.

In general, inertia adaption is selected in applications where themechanical load inertia may become disconnected from the motor 102, suchas when a gear-box or spring coupling is used at high frequencies,especially when load inertia is much greater than motor inertia. Forexample, selections 510, 512, and 514 in the mechanics panel 502 of FIG.8A exhibit such characteristics.

In general, inertia compensation is employed in situations where theload inertia is significantly larger than the motor inertia, such aswith selections 506, 508, 510, 512, and 514 in the mechanics panel 502.

In applications employing inertia adaption or compensation, the requirednumber of taps, N, for the velocity noise filter 230 may be decreased.Hence, if the user manually selects or deselects inertia compensation oracceleration feedback using the inertia compensation checkbox 568 oracceleration feedback checkbox 570, the wizard 500 may recommend thatthe number of taps for the velocity noise filter 230 specified by thevelocity noise filter taps field 556 be changed accordingly. Forinstance, if the wizard recommended 32 taps and did not enable inertiacompensation and adaption, and the user manually selected one or both ofthe inertia processing techniques, the wizard 500 may recommenddecreasing the number of taps to 8.

In summary, the wizard 500 collects system information from the user andchooses the number of taps for the velocity noise filter 230accordingly. The wizard 500 also recommends whether inertia compensationor adaption should be used based on the specified system arrangement.The wizard 500 directs the user to perform inertia tests to determinethe system and load inertias. The noise bandwidth derived from on thenumber of taps determines the upper limit for the velocity bandwidth.The wizard 500 determines the filter coefficient for the velocity errorfilter 227 based on the noise bandwidth. The user then selects avelocity bandwidth typically less than the noise bandwidth. The positionbandwidth may be selected by the user or recommended by the wizard 500.Based on the velocity and position bandwidths, the wizard 500 configuresthe controller gain constants employed in the position regulator 200 andthe velocity regulator 225. The wizard 500 may also provide additionalrecommendations responsive to changes by the user that override thewizard's initial recommendations, such as recommending a differentnumber of taps based on user changes to the inertia processingtechniques.

The following example illustrates the selection of the noise index n,and the subsequent configuration of the motor control system 104 for theexemplary system mechanics arrangements described with reference to FIG.8A. Again, the specific mechanical arrangements are merely illustrative,and an actual implementation may include different arrangements.Moreover, the following configuration examples are also merelyillustrative, and may vary depending on the particular characteristicsof an actual implementation.

The following examples illustrate the selection of the noise index, n,and the enabling of the inertia adaption unit 290 for each of theselections 504-514 shown in FIG. 8A. Unless otherwise noted, thevelocity bandwidth is selected at a value less than the noise bandwidthshown in Table 1, and the position bandwidth is set at about ⅓ to ⅕ ofthe velocity bandwidth. The gain constants for the position regulator200 and the velocity regulator 225 are set based on the selectedposition and velocity bandwidths as described above. The velocitycompensation gain factor is set in accordance with Equation 4 or 5, asdescribed above based on the number of taps, N, configured for thevelocity noise filter 230 based on the noise index. In general, it isuseful to increase or decrease n as necessary to attain minimalmechanical noise, with goal of keeping n as high as possible within theconstraints of the desired velocity bandwidth. The selection of a noiseindex that is too low may result in system chatter.

Selection 1: Direct coupled—Motor Inertia coupled via shaft and/orcouplings. Load Inertia<3× motor inertia.

For this arrangement, the inertia adaption unit 290 is disabled, asacceleration feedback is not necessary for the relatively low inertiaratio. The noise index, n, is set to 4, resulting in 16 taps in thevelocity noise filter 230. The value of 4 for the noise index representsa default value and is suitable for velocity bandwidths up to around 100(r/s). The noise bandwidth is prescribed by the Table 1 value based uponnumber of taps (16), or 120 radians/sec. The maximum velocity bandwidthfield 558 is limited to this value. If the implementation requires ahigher velocity bandwidth, the noise index may be decreased to 3 or 2 toincrease the noise bandwidth, and thus the maximum velocity bandwidth.

Selection 2: Direct coupled—Motor Inertia is coupled via very stiffshaft and/or coupling. Load inertia<30× motor inertia.

Because of a higher system inertia than Selection 1, n may in this casebe set to 5. Generally, systems with high inertias do not need highvelocity bandwidths and can benefit from a higher degree of filtering.The maximum velocity bandwidth field 558 is limited to 60 Radians, so asto not exceed the noise bandwidth in Table 1.

For this selection, the inertia adaption unit 290 is disabled, becausethe load is still considered part of the motor from an inertiastandpoint, and the resonant frequency is sufficiently high (e.g., above200 Hz) to reduce the effectiveness of the inertia adaption unit 290.The value of the noise index, n, is set to 5, resulting in 32 taps forthe velocity noise filter 230. Typically, such systems with highreflected inertia do not require high velocity bandwidths. Again, if ahigher velocity bandwidth is needed for a particular implementation, thevalue of the noise index may be reduced.

Selection 3: Direct coupled—motor inertia coupled via shaft and/orcouplings. Load inertia<10× motor inertia.

In this arrangement, the inertia adaption unit 290 is disabled, becausethe system is considered sufficiently stiff (i.e., resonantfrequency>200 Hz). In an actual implementation, if it is determined thatthe system is not as stiff as first thought, the settings for selection5 below may be used. A value of 4 is selected for the noise index. Inthis arrangement, the selected velocity bandwidth may be configured toexceed the noise bandwidth to a limited extent (e.g., by about 20%).

Selection 4: Gear Coupled—motor inertia coupled via gears and/orcouplings. Load Inertia>30× motor inertia.

For this selection, the inertia adaption unit 290 is enabled because thehigh level of inertia will exhibit considerable compliance and noise inthe mechanical transmission. The inertia adaption unit 290 is configuredto receive the position feedback directly from the encoder 106, thusdecoupling the inertia adaption unit 290 from the velocity noise filter230. This decoupling allows the system to use aggressive noise filteringfor the velocity regulator 225 due to the relatively high inertia. Thevelocity bandwidth is selected based on the inertia ratio, and the valueof the noise index is selected to achieve a noise bandwidth that isgreater than velocity bandwidth. In this arrangement, the requiredvelocity bandwidth drives the selection of the noise bandwidth, anddetermines the allowable aggressiveness of the velocity noise filter230. The inertia adaption filter bandwidth is set to 1× the selectedvelocity bandwidth. The bandwidth of the velocity error filter 227 isset to about 3× the selected velocity bandwidth.

Selection 5: Direct coupled—motor inertia coupled via weak “springy”shaft. Load inertia>30× motor inertia.

For this arrangement, the inertia adaption unit 290 is enabled.Typically, inertia adaption is used with gears or “springy” couplings.The velocity bandwidth, noise index, and velocity error filter bandwidthare set as described in the previous example.

Selection 6: Direct Coupled—motor inertia coupled via gears, and weak“springy” shaft and/or couplings. Load inertia>30× motor inertia.

This selection is configured as with selection 5 above. For purposes ofinertia adaption a spring and a gear-box require similar handling.

Turning now to FIG. 9, a simplified diagram of the wizard 500interfacing with the motor drive 100 is provided. The wizard 500 isimplemented as a software application executed by general-purpose orspecialized processing device 600 (e.g., a desktop computer, notebookcomputer, or workstation). The processing device 600 is coupled to themotor drive 100 via a communications link 610. The communications link610 may employ hard-wired (e.g., Ethernet) or wireless (e.g. 802.11)connections, for example. The communication link 610 may employ standardor proprietary network protocols for communication between the wizard500 and the motor drive 100.

Returning to FIG. 3, the wizard 500 automatically configures the motorcontrol system 104 based on relatively simple configuration dataprovided by the user. As a result, the user can configure the systemwithout having detailed knowledge of motor control theory. Hence, thewizard 500 simplifies the configuration process and increases theconsistency of the results. Even if some degree of tuning is desireddepending on a particular application, the wizard 500 allows the tuningto be conducted at a relatively high level. For instance, the user maywish to experiment with different values of noise bandwidth (i.e., bychanging N) or different velocity bandwidths. The wizard 500 allows theuser to change the high level parameter and automatically changes thedetailed control parameters affected by the change (e.g., velocity errorfilter bandwidth, velocity compensation gain factor, controller gainconstants, etc.). This arrangement simplifies the tuning process for theuser.

The particular embodiments disclosed above are illustrative only, as theinvention may be modified and practiced in different but equivalentmanners apparent to those skilled in the art having the benefit of theteachings herein. Furthermore, no limitations are intended to thedetails of construction or design herein shown, other than as describedin the claims below. It is therefore evident that the particularembodiments disclosed above may be altered or modified and all suchvariations are considered within the scope and spirit of the invention.Accordingly, the protection sought herein is as set forth in the claimsbelow.

1. An electronic line shaft, comprising: a motor drive; and a processingunit operable to execute a wizard for configuring the motor drive, thewizard being operable to receive mechanical characteristic dataassociated with the motor drive that is provided as input by a wizarduser, determine a noise parameter based on the mechanical characteristicdata, and determine at least one control parameter of the motor drivebased on the noise parameter; wherein the motor drive comprises aninertia compensation unit operable to receive a reference velocitysignal, generate a derivative of the reference velocity signal, andmultiply the derivative by an inertia compensation gain factor togenerate an inertia compensation signal, and an adjustor operable toadjust the reference velocity signal as a function of the inertiacompensation signal, and the wizard is operable to receive a systeminertia parameter and determine the inertia compensation gain factor asa function of the system inertia parameter.
 2. The electronic line shaftof claim 1, wherein the noise parameter comprises a noise index.
 3. Theelectronic line shaft of claim 1, wherein the motor drive comprises avelocity noise filter coupled to receive a feedback position signal andoperable to filter the feedback position signal to generate a feedbackvelocity signal, and the control parameter comprises a number of taps inthe velocity noise filter.
 4. The electronic line shaft of claim 3,wherein the motor drive further comprises a velocity regulator having afirst adjuster operable to receive the feedback velocity signal and areference velocity signal and compare the reference velocity signal andthe feedback velocity signal to generate a velocity error signal and avelocity error filter operable to filter the velocity error signal, andthe wizard is operable to determine a bandwidth of the velocity errorfilter as the control parameter based on the number of taps.
 5. Theelectronic line shaft of claim 3, wherein the motor drive furthercomprises a velocity compensator operable to receive a referencevelocity signal, determine a derivative of the reference velocitysignal, and multiply the derivative by a velocity compensation gainfactor to generate a velocity compensation signal, and the wizard isoperable to determine the velocity compensation gain factor as thecontrol parameter based on the number of taps.
 6. An electronic lineshaft, comprising: a motor drive; and a processing unit operable toexecute a wizard for configuring the motor drive, the wizard beingoperable to receive mechanical characteristic data associated with themotor drive that is provided as input by a wizard user, determine anoise parameter based on the mechanical characteristic data, anddetermine at least one control parameter of the motor drive based on thenoise parameter; wherein the motor drive further comprises an inertiaadaption unit operable to receive a feedback velocity signal andgenerate a feedback acceleration signal based on the feedback velocitysignal, and the wizard is operable to enable or disable the inertiaadaption unit based on the mechanical characteristic data.
 7. Theelectronic line shaft of claim 6, wherein the motor drive furthercomprises: an inertia compensation unit operable to receive a referencevelocity signal, generate a derivative of the reference velocity signal,and multiply the derivative by an inertia compensation gain factor togenerate an inertia compensation signal; and an adjustor operable toadjust the reference velocity signal as a function of the inertiacompensation signal, wherein the wizard is operable to receive a systeminertia parameter, determine the inertia compensation gain factor as afunction of the system inertia parameter, and adjust the inertiacompensation gain factor responsive to the enabling of the inertiaadaption unit.
 8. The electronic line shaft of claim 7, wherein thewizard is operable to determine increase the inertia compensation gainfactor by a factor of about 50% responsive to the enabling of theinertia adaption unit.
 9. An electronic line shaft, comprising: a motordrive; and a processing unit operable to execute a wizard forconfiguring the motor drive, the wizard being operable to receivemechanical characteristic data associated with the motor drive that isprovided as input by a wizard user, determine a noise parameter based onthe mechanical characteristic data, and determine at least one controlparameter of the motor drive based on the noise parameter; wherein themotor drive comprises a velocity noise filter coupled to receive afeedback position signal and operable to filter the feedback positionsignal to generate a feedback velocity signal, and the control parametercomprises a number of taps in the velocity noise filter and the driveunit further comprises a velocity regulator including: a first adjusteroperable to receive the feedback velocity signal and a referencevelocity signal and compare the reference velocity signal and thefeedback velocity signal to generate a velocity error signal; and acontroller operable to generate a velocity regulator output signal as afunction of the velocity error signal and at least one controller gainconstant, wherein the wizard is operable to receive a selected velocitybandwidth and determine the controller gain constant as a function ofthe selected velocity bandwidth.
 10. The electronic line shaft of claim9, wherein the wizard is operable to determine a noise bandwidth basedon the number of taps in the velocity noise filter, set the noisebandwidth as a maximum velocity bandwidth, and limit the selectedvelocity bandwidth to a value less than the maximum velocity bandwidth.11. The electronic line shaft of claim 9, wherein the controller gainconstant comprises at least one of a proportional gain constant and anintegral gain constant.
 12. An electronic line shaft, comprising: amotor drive; and a processing unit operable to execute a wizard forconfiguring the motor drive, the wizard being operable to receivemechanical characteristic data associated with the motor drive that isprovided as input by a wizard user, determine a noise parameter based onthe mechanical characteristic data, and determine at least one controlparameter of the motor drive based on the noise parameter; wherein themotor drive comprises a velocity noise filter coupled to receive afeedback position signal and operable to filter the feedback positionsignal to generate a feedback velocity signal, and the control parametercomprises a number of taps in the velocity noise filter and the driveunit further comprises a position regulator operable to receive theposition feedback signal and a reference position signal and generate aposition error signal as a function of the reference position signal,the feedback position signal, and a at least one controller gainconstant, and the wizard is operable to receive a selected positionbandwidth and determine the controller gain constant as a function ofthe selected position bandwidth.
 13. A method for configuring a motordrive, the motor drive further includes an inertia compensation unitoperable to receive a reference velocity signal, generate a derivativeof the reference velocity signal, and multiply the derivative by aninertia compensation gain factor to generate an inertia compensationsignal, and an adjustor operable to adjust the reference velocity signalas a function of the inertia compensation signal, the method comprisingthe steps of: providing a wizard for entering user input includingmechanical characteristic data associated with the motor drive;receiving the mechanical characteristic data; determining a noiseparameter based on the mechanical characteristic data; determining atleast one control parameter of the motor drive based on the noiseparameter; determining a system inertia parameter; and determining theinertia compensation gain factor as a function of the system inertiaparameter.
 14. The method of claim 13, wherein determining the noiseparameter further comprises determining a noise index.
 15. The method ofclaim 13, wherein the motor drive includes a velocity noise filtercoupled to receive a feedback position signal and operable to filter thefeedback position signal to generate a feedback velocity signal, anddetermining the control parameter further comprises determining a numberof taps in the velocity noise filter.
 16. The method of claim 15,wherein the motor drive further includes a velocity regulator having afirst adjuster operable to receive the feedback velocity signal and areference velocity signal and compare the reference velocity signal andthe feedback velocity signal to generate a velocity error signal and avelocity error filter operable to filter the velocity error signal, anddetermining the control parameter further comprises determining abandwidth of the velocity error filter based on the number of taps. 17.The method of claim 15, wherein the motor drive further includes avelocity compensator operable to receive a reference velocity signal,determine a derivative of the reference velocity signal, and multiplythe derivative by a velocity compensation gain factor to generate avelocity compensation signal, and determining the control parameterfurther comprises determining the velocity compensation gain factorbased on the number of taps.
 18. A method for configuring a motor drive,the motor drive including an inertia adaption unit operable to receive afeedback velocity signal and generate a feedback acceleration signalbased on the feedback velocity signal, the method comprising the stepsof: providing a wizard for entering user input including mechanicalcharacteristic data associated with the motor drive; receiving themechanical characteristic data; determining a noise parameter based onthe mechanical characteristic data; determining at least one controlparameter of the motor drive based on the noise parameter; and enablingor disabling the inertia adaption unit based on the mechanicalcharacteristic data.
 19. The method of claim 18, wherein the motor drivefurther includes an inertia compensation unit operable to receive areference velocity signal, generate a derivative of the referencevelocity signal, and multiply the derivative by an inertia compensationgain factor to generate an inertia compensation signal, and an adjustoroperable to adjust the reference velocity signal as a function of theinertia compensation signal, and the method further comprises:determining a system inertia parameter; determining the inertiacompensation gain factor as a function of the system inertia parameter;and adjusting the inertia compensation gain factor responsive to theenabling of the inertia adaption unit.
 20. The method of claim 19,wherein adjusting the inertia compensation gain factor further comprisesincreasing the inertia compensation gain factor by a factor of about 50%responsive to the enabling of the inertia adaption unit.
 21. A methodfor configuring a motor drive, wherein the motor drive includes avelocity noise filter coupled to receive a feedback position signal andoperable to filter the feedback position signal to generate a feedbackvelocity signal, and determining the control parameter further comprisesdetermining a number of taps in the velocity noise filter and the motordrive further includes a velocity regulator having a first adjusteroperable to receive the feedback velocity signal and a referencevelocity signal and compare the reference velocity signal and thefeedback velocity signal to generate a velocity error signal, and acontroller operable to generate a velocity regulator output signal as afunction of the velocity error signal and at least one controller gainconstant, the method comprising the steps of: providing a wizard forentering user input including mechanical characteristic data associatedwith the motor drive, receiving the mechanical characteristic data;determining a noise parameter based on the mechanical characteristicdata; and determining at least one control parameter of the motor drivebased on the noise parameter; receiving a selected velocity bandwidth;and determining the controller gain constant as a function of theselected velocity bandwidth.
 22. The method of claim 21, furthercomprising: determining a noise bandwidth based on the number of taps inthe velocity noise filter; setting the noise bandwidth as a maximumvelocity bandwidth; and limiting the selected velocity bandwidth to avalue less than the maximum velocity bandwidth.
 23. The method of claim22, wherein determining the controller gain constant comprisesdetermining at least one of a proportional gain constant and an integralgain constant.
 24. A method for configuring a motor drive, wherein themotor drive includes a velocity noise filter coupled to receive afeedback position signal and operable to filter the feedback positionsignal to generate a feedback velocity signal, and determining thecontrol parameter further comprises determining a number of taps in thevelocity noise filter and the motor drive further includes a positionregulator operable to receive the position feedback signal and areference position signal and generate a position error signal as afunction of the reference position signal, the feedback position signal,and a at least one controller gain constant, the method comprising thesteps of: providing a wizard for entering user input includingmechanical characteristic data associated with the motor drive;receiving the mechanical characteristic data; determining a noiseparameter based on the mechanical characteristic data; and determiningat least one control parameter of the motor drive based on the noiseparameter; receiving a selected position bandwidth; and determining thecontroller gain constant as a function of the selected positionbandwidth.